Viking Tutorial 4: Geometry Optimization